<HTML>
<TITLE>Sudoku Solver</TITLE>
<BODY BGCOLOR = FFFFFF>

<CENTER><H2>Sudoku Solver</H2></CENTER>

<P><b>Updated</b> 6/14/2008
<p>
<CENTER>
<APPLET archive="sudoku.jar"
code="SudokuApplet.class" WIDTH=640 HEIGHT=480>
</APPLET>
</CENTER>

I wrote this program as an exercise in recursion, but became much more interested
in the prospect of making a nice interface that you can actually use to cheat
effectively at Sudoku.

<h3><center>Instructions</center></h3>
 
<p>The program starts with a preset sudoku board.  You can
watch it solve by clicking the "solve" button.  You can also create your own
setup in two ways.

<p>First, you can click directly on the board and type in new numbers.  This
will immediately undo any progress that the solver has made in updating the board.

<p>Second, you can paste a complete Sudoku puzzle directly into the text box on
the top right.  Simply enter a combination of numbers, spaces or dots, and
line breaks, then click the "update" button.  The text box corrects itself
automatically, so you can't enter an invalid combination of characters.

<p>The best use of the text box is to save puzzles that you found interesting, so
later you can copy in the text version of a puzzle you have already tried.

<p>If you find that a solution is proceeding too slowly, click the drop box
and change the speed.  The values are not precisely accurate at high speeds;
1000 frames per second simply means "do one step and then sleep for one
millisecond."  The maximum speed runs 1000 frames before updating the screen.
   
<P><HR>

<P><A HREF="../index.html">Back to the Java page</A>

</BODY>
</HTML>
